#!/usr/bin/perl
#
# Script para obtener contar las IPs fijas del DHCP activos
#
# Argumentos:
#  1) Fichero del que obtener la lista
#
# Ejemplos:
#    countFixedAliasesDroped.pl /etc/AGEDABOX.MacsRegistered 
#
#
 
 # Comprobar argumentos del script
 if ( 0 != $#ARGV ) {
    print STDERR "ERROR: Faltan argumentos. Debes pasar el <fichero> \n";
    exit 2;
 }

 # Recoger agumentos -----------------
 
 # Fichero de leases
 $leases=$ARGV[0];

 # Para obtener las ruta absoluta del directorio de los scripts
 use File::Basename;
 use Cwd 'abs_path';
 $dirname=dirname(abs_path($0));

 # Construir el comando inicial para quedarnos con las entras unicas ...
 # ...por MAC, y quedandonos con la ultima concesion
 $comando="perl $dirname/formatFixedAliasesDroped.pl $ARGV[0] | sort -t# -r -k2 -k1 ";
 open(CMD,"$comando |") || die ("ERROR: No puedo ejecutar el comando embebido\n"); 

 # Contador de IPs
 $cuenta=0;

 # Recorrer la salida para ir metiendo en el hash
 $lastMAC="";
 while ( chomp($linea=<CMD>) ) {
     # Troceamos la linea
     @leas=split("#",$linea);
     if ( $lastMAC ne $leas[1] ) {
        $lastMAC=$leas[1];
        $cuenta++;
     }
 }
 close(CMD);

 # Mostrar la cuenta
 print "$cuenta";
